package ar.pmt.vista.beansComplejos;

import java.util.Calendar;
import java.util.Collection;

import ar.pmt.vista.beans.VistaBean;


/**
 * @author gburgener
 *
 */

public class PeticionBeanOriginal  extends VistaBean{

	/**
	 * nombre
	 */
	private String nombre;
	/**
	 * tareas
	 */
	private Collection<TareaBean> tareas;
	/**
	 * unico id
	 */
	private String unicoId;
	/**
	 * fecha inicio
	 */
	private Calendar fechaInicio;
	/**
	 * fecha fin
	 */
	private Calendar fechaFin;
	/**
	 * horas estimadas
	 */
	private Float horasEstimadas=0.0f;
	/**
	 * costo incurrido
	 */
	private Float costoIncurrido=0.0f;

	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * @param nombre
	 *           the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * @return the tareas
	 */
	public Collection<TareaBean> getTareas() {
		return tareas;
	}

	/**
	 * @param tareas
	 *           the tareas to set
	 */
	public void setTareas(Collection<TareaBean> tareas) {
		this.tareas = tareas;
	}

	/**
	 * @return the fechaInicio
	 */
	public Calendar getFechaInicio() {
		return fechaInicio;
	}

	/**
	 * @return fecha de Inicio
	 */
	public String getFechaInicioToJs() {
		return "new Date(" + fechaInicio.get(Calendar.YEAR) + ","
		+ (fechaInicio.get(Calendar.MONTH)-1) + ","
		+ fechaInicio.get(Calendar.DAY_OF_MONTH) + ")";
	}

	/**
	 * @param fechaInicio
	 *           the fechaInicio to set
	 */
	public void setFechaInicio(Calendar fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	/**
	 * @return the fechaFin
	 */
	public Calendar getFechaFin() {
		return fechaFin;
	}

	/**
	 * @param fechaFin
	 *           the fechaFin to set
	 */
	public void setFechaFin(Calendar fechaFin) {
		this.fechaFin = fechaFin;
	}

	/**
	 * @return the horasEstimadas
	 */
	public Float getHorasEstimadas() {
		return horasEstimadas;
	}

	/**
	 * @param horasEstimadas
	 *           the horasEstimadas to set
	 */
	public void setHorasEstimadas(Float horasEstimadas) {
		this.horasEstimadas = horasEstimadas;
	}

	/**
	 * @return the costoIncurrido
	 */
	public Float getCostoIncurrido() {
		return costoIncurrido;
	}

	/**
	 * @param costoIncurrido
	 *           the costoIncurrido to set
	 */
	public void setCostoIncurrido(Float costoIncurrido) {
		this.costoIncurrido = costoIncurrido;
	}

	/**
	 * para retornar este valor se debera sumar todos los valores del atributo estimadoHoras de todos los objetos
	 * Asignacion obtenidos.
	 *
	 * Asignaciones a contemplar para dicho calculo: desde el objeto peticion se deberan obtener todas sus tareas
	 * asociadas(todas aquellas que esten en su atributo tareas de tipo collection), y para cada objeto Tarea se deberan
	 * obtener todas sus asignaciones asociadas (todas aquellas que esten en su atributo asignaciones de tipo
	 * collection).
	 *
	 * @return Float
	 */
	public Float obtenerHorasEstimadas() {
		return null;
	}

	/**
	 * para retornar este valor se debera sumar todos los valores del atributo costoHoras de todos 
	 * los objetos Incurridos obtenidos. Objetos Incurrido a contemplar para dicho calculo: desde 
	 * el objeto peticion se deberan obtener todas sus tareas asociadas(todas aquellas que esten 
	 * en su atributo tareas de tipo collection), y para cada objeto Tarea
	 * se deberan obtener todos sus Incurridos asociados (todos aquellas que esten en su atributo incurridos de tipo
	 * collection).
	 * @return horas incurridas
	 */
	public Float obtenerHorasIncurridas() {
		return null;
	}


	/**
	 *
	 * @return el nro.de id concatenado por el nombre de la peticion para mostrar en los combos de peticiones
	 */
	public String getIdNombre() {
		if (this.getId() == null) {
			return " ";
		}
		return this.getId() + " - " + this.getNombre();
	}

	/**
	 * @return the unicoId
	 */
	public final String getUnicoId() {
		return unicoId;
	}

	/**
	 * @param unicoId the unicoId to set
	 */
	public final void setUnicoId(String unicoId) {
		this.unicoId = unicoId;
	}

}
